package com.chinatechstar.decis.dto;

import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Rei
 * @date 2021/7/28
 */
public class EconBenefitWellDTO implements Serializable {
    private static final long serialVersionUID = -2560987386227811287L;

    /**
     * 截至日期
     */
    @NotNull(message = "截至日期不可为空")
    private Date date;

    /**
     * 商品率
     */
    @NotNull(message = "商品率不可为空")
    private BigDecimal commodityRate;

    /**
     * 吨桶换算系数
     */
    @NotNull(message = "吨桶换算系数不可为空")
    private BigDecimal tonBarrel;

    /**
     * 美元汇率
     */
    @NotNull(message = "美元汇率不可为空")
    private BigDecimal exRate;

    /**
     * 待评价的井ID数组
     */
    private Long[] wellIds;

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public BigDecimal getCommodityRate() {
        return commodityRate;
    }

    public void setCommodityRate(BigDecimal commodityRate) {
        this.commodityRate = commodityRate;
    }

    public BigDecimal getTonBarrel() {
        return tonBarrel;
    }

    public void setTonBarrel(BigDecimal tonBarrel) {
        this.tonBarrel = tonBarrel;
    }

    public BigDecimal getExRate() {
        return exRate;
    }

    public void setExRate(BigDecimal exRate) {
        this.exRate = exRate;
    }

    public Long[] getWellIds() {
        return wellIds;
    }

    public void setWellIds(Long[] wellIds) {
        this.wellIds = wellIds;
    }

    @Override
    public boolean equals(Object obj) {
        return EqualsBuilder.reflectionEquals(obj, this);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }
}
